package com.xhj.mybatis.executor.parameter;

import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * ParameterHandler
 *
 * @author XJks
 * @description ParameterHandler 接口用于设置 SQL 语句中的参数。主要用于 MyBatis 框架中，负责将 Java 参数传递给 JDBC 的 PreparedStatement。
 */
public interface ParameterHandler {

    /**
     * 获取当前要传递给 SQL 的参数对象。
     *
     * @return 参数对象，通常是用户传入的参数
     */
    Object getParameterObject();

    /**
     * 将参数设置到 PreparedStatement 中。
     *
     * @param ps 预编译的 SQL 语句对象
     * @throws SQLException 如果设置参数时发生数据库错误会抛出此异常
     */
    void setParameters(PreparedStatement ps) throws SQLException;

}
